import MyPromise, { pushToTask } from "../src";

// ********************

// ********************

// 状态吸收
// const p6 = MyPromise.resolve('... p6')
// const p7 = MyPromise.reject(p6)
// p7.then(err => console.log(err))

// 状态吸收
// const p3 = MyPromise.reject('err msg p3')
// const p4 = MyPromise.resolve().then(() => p3)
// p4.catch(err=> console.log(err))

// 状态吸收 resolve(promiseObj)
// const p1 = MyPromise.reject('err msg ...')
// const p2 = new MyPromise(res => res(p1))
// p2.catch(err => console.log(err))

// 状态更改后不能变
// new MyPromise((resolve, reject) => {
//   resolve(111)
//   reject(222)
// })

// callback执行出错, 直接reject(err)
// const p = new MyPromise((resolve, reject) => {
//   throw 33333
// })

// 实现微队列
// setTimeout(() => console.log(1))
// pushToTask(() => console.log(2))
// console.log(3)

// then
// const p = new MyPromise((resolve, reject) => {
//   setTimeout(() => {
//     resolve(1)
//     console.log(p)
//   })
// })

// p.then(
//   function A1(){},
//   function A2(){},
// )

// p.then(
//   function B1(){},
//   function B2(){},
// )

// then的回调函数执行完一定要删除, 防止反复执行
// const p = new MyPromise((resolve, reject) => {
//   resolve()
// })

// p.then(() => {console.log(1)})
// p.then(() => {console.log(2)})

// console.log(p)
